﻿using System.Collections.Generic;
using Resn.WhuPub.DML;

namespace Resn.WhuPub.BIL
{
        /// <summary>
        ///定义分校/分公司的属性和方法
        /// </summary>
        public interface ICorporateBranch : IEntity
        {
                #region 属性

                #region 基本属性

                /// <summary>
                ///获取分校/分公司所属学校/公司的Id
                /// </summary>
                /// <value>
                ///分校/分公司所属学校/公司的Id
                /// </value>
                string CorporateId { get; }

                /// <summary>
                ///获取或设置分校/分公司的名称
                /// </summary>
                /// <value>
                ///分校/分公司的名称
                /// </value>
                string Name { get; set; }

                /// <summary>
                ///获取或设置分校/分公司的地址
                /// </summary>
                /// <value>
                ///分校/分公司的地址
                /// </value>
                string Address { get; set; }

                /// <summary>
                ///获取或设置分校/分公司的邮编
                /// </summary>
                /// <value>
                ///分校/分公司的邮编
                /// </value>
                string Postcode { get; set; }

                /// <summary>
                ///获取或设置分校/分公司所在的省份
                /// </summary>
                /// <value>
                ///分校/分公司所在的省份
                /// </value>
                string Province { get; set; }

                /// <summary>
                ///获取或设置分校/分公司所在的城市
                /// </summary>
                /// <value>
                ///分校/分公司所在的城市
                /// </value>
                string City { get; set; }

                /// <summary>
                ///获取或设置分校/分公司的网址
                /// </summary>
                /// <value>
                ///分校/分公司的网址
                /// </value>
                string Website { get; set; }

                #endregion 基本属性

                /// <summary>
                ///获取分校/分公司模型
                /// </summary>
                /// <value>
                ///分校/分公司模型
                /// </value>
                CorporateBranchModel Model { get; }

                /// <summary>
                ///获取分校/分公司所属的学校/公司
                /// </summary>
                /// <value>
                ///分校/分公司所属的学校/公司
                /// </value>
                ICorporate Corporate { get; }

                /// <summary>
                ///获取分校/分公司所属的学校/公司名称
                /// </summary>
                /// <value>
                ///分校/分公司所属的学校/公司名称
                /// </value>
                string CorporateName { get; }

                /// <summary>
                ///获取分校/分公司下属的部门集合
                /// </summary>
                /// <value>
                ///分校/分公司下属的部门集合
                /// </value>
                List<IDepartment> Departments { get; }

                #endregion 属性

                #region 方法

                /// <summary>
                ///创建部门
                /// </summary>
                /// <param name="name">部门名称</param>
                IDepartment CreateDepartment(string name = "");

                #endregion 方法
        }
}